Analog-to-digital conversion, in particular analog-to-digital conversion modules embedded in microcontrollers, are typically under software control of the respective central processing unit (CPU) core of the microcontroller. These analog-to-digital conversion modules have limited operation in low power modes such as sleep and idle when the CPU is inactive. In certain applications the analog-to-digital conversion modules require interaction with other microcontroller peripheral functions, e.g., storage registers, accumulators, multiplexers, sample and hold circuits, etc., that require the CPU to control the interaction between the analog-to-digital conversion modules and these other microcontroller peripheral functions. This requirement of the CPU having to control interactions between the analog-to-digital conversion modules and other support peripherals consumes valuable CPU processing power which may be used more productively for example, but not limited to, motor control, switched mode power supply (SMPS) control, digital signal processing (DSP), etc. Also when the CPU is required to perform various tasks, this may increase power consumption of the microcontroller.
Alternatively to CPU control, a hard-coded sequencer in combination with the analog-to-digital conversion module can provide one sequence of steps for a process, e.g., performing an algorithm. However, the steps in a hard-coded sequencer cannot be changed to correct errors or incorporate improvements to the process. Only a single process sequence is available and no other or more steps can be changed or to added to the process. This results in each integrated circuit device possibly ending up being unique as the process steps are tweaked from one integrated circuit device to another during production thereof.